// 定义主题接口
typedef struct Subject {
    void (*attach)(Observer*);
    void (*detach)(Observer*);
    void (*notify)();
} Subject;

// 实现具体主题类
struct ConcreteSubject {
    // 主题实现...
};

// 定义观察者接口 
typedef struct Observer {
    void (*update)();
} Observer;

// 实现具体观察者A 类
struct ConcreteObserverA {
    // 观察者的实现...
};